The Universal Serial Bus (USB) is a peripheral bus specification developed by PC and telecom industry leaders. USB Specification version 1.1 supports two different rates for transmitting data: 1.5 Mega bits (Mbits) per second for low-speed devices and 12 Mbits/second for full speed devices. Recently a USB Specification Version 2.0 was made available. USB Specification 2.0 extends the rate for transferring data from 12 Mbps (referred to herein as 12 MHz) on USB 1.1 up to 480 Mbps (referred to herein as 480 MHz) on USB 2.0 for high speed devices.
Under the specification, the USB allows the plug-and-play capability of computer peripherals outside the PC case. The capability eliminates the need to install interface cards into dedicated computer slots and reconfigure the system each time a peripheral is attached or detached from a PC. Typically, a USB system may be expanded by providing a USB hub which provides USB port replication. A USB hub may be connected to another USB hub and service multiple USB ports. Up to 127 devices may be connected to a data processing system through a USB interface.
As shown in an example in FIG. 1, a host 12, i.e. a computer system, includes ports 1, 2 that provide USB connection points to devices 14 and a USB hub 16. Under the protocol of USB standard, devices 14 are classified into mainly three types. The first one is the type of a human-interface device (HID), i.e. keyboard, mouse, or, alternately, an interrupt device. The second one is the type of a bulk device, i.e. a scanner, which places strict requirement on accuracy of each data bits transmitted. The third one is the type of an isochronous device, i.e. an audio device, which does not place strict requirement on accuracy of each data bits transmitted. As indicated, the hub 16 is a device which provides additional attachment points for the host 12 to devices 14.
Hub 16 is therefore a key element in the plug-and-play architecture of computer system 12, and is a wiring concentrator which enables the multiple attachment characteristics of USB. The upstream port of hub 16 connects the hub 16 towards the host 12. Each of the downstream ports of hub 16 allows connection to another hub or device 14. Hub 16 detects the attachment and detachment of a USB device 14 at each downstream port and enables the distribution of power to these downstream USB devices 14.
In routing the data within the hub 16, complexity is increased at the high speed operation of 480 MHz under USB 2.0. While attempts to reduce the frequency during the routing have been made, such attempts have their own complexities due to synchronization, timing, and clocking issues during conversion of the frequency to a lower frequency for routing from the source port and then back to a higher frequency at the destination port. Accordingly, a need exists for a routing scheme for USB connections that supports high speed operation efficiently and effectively. The present invention addresses such a need.